import { api } from './request'

/**
 * 管理员管理相关API接口
 */
export const adminApi = {
  /**
   * 获取管理员列表
   * @param params 查询参数
   */
  getAdminList: (params: {
    page: number
    pageSize: number
    username?: string
    nickname?: string
    status?: number
  }) => {
    return api.get('/admin/list', params)
  },

  /**
   * 获取角色列表
   */
  getRoles: () => {
    return api.get('/role/list')
  },

  /**
   * 添加管理员
   * @param data 管理员数据
   */
  addAdmin: (data: {
    username: string
    password: string
    nickname: string
    avatar?: string
    email?: string
    phone?: string
    status: number
    roleIds: number[]
  }) => {
    return api.post('/admin/add', data)
  },

  /**
   * 编辑管理员
   * @param data 管理员数据
   */
  updateAdmin: (data: {
    id: number
    username: string
    nickname: string
    avatar?: string
    email?: string
    phone?: string
    status: number
    roleIds: number[]
  }) => {
    return api.put('/admin/update', data)
  },

  /**
   * 删除管理员
   * @param id 管理员ID
   */
  deleteAdmin: (id: number) => {
    return api.delete(`/admin/delete/${id}`)
  },

  /**
   * 重置管理员密码
   * @param id 管理员ID
   * @param password 新密码
   */
  resetPassword: (data: {
    id: number
    password: string
  }) => {
    return api.put('/admin/reset-password', data)
  }
}